efi: avoid calling boot services after ExitBootServices()
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Wed, 10 Jun 2015 09:57:18 +0000 (11:57 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 10 Jun 2015 10:00:10 +0000 (12:00 +0200)
commitd4300db3a03a0cd999745135d7879fc4b6b5aa61
treed6490b599dd5ab93c89d2fc09c0855b61f57ddb5
parent7c9a93a013783a3344032445469d6b87e496aca4
efi: avoid calling boot services after ExitBootServices()

After the first call to ExitBootServices(), avoid calling any boot
services (except GetMemoryMap() and ExitBootServices()) by setting
setting efi_bs to NULL and halting in blexit(). Only GetMemoryMap() and
ExitBootServices() are explicitly allowed to be called after the first
call to ExitBootServices() and so are are called via
SystemTable->BootServices.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/efi/efi-boot.h
xen/arch/x86/efi/efi-boot.h
xen/common/efi/boot.c